knitr::opts_chunk$set(echo = TRUE)

cmdstanr::set_cmdstan_path(path = "C:/Users/kueng/.cmdstan/cmdstan-2.35.0")

library(tidyverse)
library(R.utils)
library(wbCorr)
library(readxl)
library(kableExtra)
library(brms)
library(bayesplot)
library(see)
library(beepr)
library(DHARMa)
library(digest)



source(file.path('Functions', 'ReportModels.R'))
source(file.path('Functions', 'PrettyTables.R'))
source(file.path('Functions', 'ReportMeasures.R'))
source(file.path('Functions', 'PrepareData.R'))

report_function_hash <- digest::digest(summarize_brms)
system("shutdown /a")
## [1] 1116
# Set options for analysis
use_mi = FALSE
shutdown = FALSE
report_ordinal = FALSE
report_hurdle = TRUE
do_priorsense = FALSE

options(
  dplyr.print_max = 100, 
  brms.backend = 'cmdstan',
  brms.file_refit = ifelse(use_mi, 'never', 'on_change'),
  brms.file_refit = 'on_change',
  #brms.file_refit = 'always',
  error = function() {
    beepr::beep(sound = 5)
    if (shutdown) {
      system("shutdown /s /t 180")
      quit(save = "no", status = 1)
    }
  }
  , es.use_symbols = TRUE
)


####################### Model parameters #######################

iterations = 2000 # 10'000 per chain to achieve 40'000
warmup = 1000

# NO AR!!!
#corstr = 'ar'
#corstr = 'cosy_couple'
#corstr = 'cosy_couple:user'


################################################################

suffix = as.character(iterations)
df <- openxlsx::read.xlsx(file.path('long.xlsx'))
df_original <- df

df_double <- prepare_data(df, recode_pushing = TRUE, use_mi = use_mi)[[1]]

Constructing scales Re-coding pusing reshaping data (4field) centering data within and between

summary(df_double$pushing)

Min. 1st Qu. Median Mean 3rd Qu. Max. NA’s 0.0000 0.0000 0.0000 0.1635 0.0000 5.0000 241

Modelling

# For indistinguishable Dyads
model_rows_fixed <- c(
    'Intercept', 
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'planPlan',
    'day', 
    'weartime_self_cw',
    
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions'
  )


model_rows_fixed_ordinal <- c(
  model_rows_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed[2:length(model_rows_fixed)]
)

model_rows_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_ordinal <- c(model_rows_random,'disc')
# For indistinguishable Dyads
model_rownames_fixed <- c(
    "Intercept", 
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    'Actionplan',
    "Day", 
    "Daily weartime",
    
    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime",
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3'
  )


model_rownames_fixed_ordinal <- c(
  model_rownames_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed[2:length(model_rownames_fixed)]
)

model_rownames_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_ordinal <- c(model_rownames_random,'disc')
rows_to_pack <- list(
  "Within-Person Effects" = c(2,15),
  "Between-Person Effects" = c(16,26),
  "Random Effects" = c(27, 33), 
  "Additional Parameters" = c(34,34)
  )


rows_to_pack_ordinal <- list(
  "Intercepts" = c(1,6),
  "Within-Person Effects" = c(2+5,15+5),
  "Between-Person Effects" = c(16+5,26+5),
  "Random Effects" = c(27+5, 33+5), 
  "Additional Parameters" = c(34+5,34+6)
  )

HURDLE MODELS

# For indistinguishable Dyads
model_rows_fixed_hu <- c(
    'Intercept', 
    'hu_Intercept',
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'planPlan',
    'day', 
    'weartime_self_cw',
  
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions',
    
    # HURDLE MODEL
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'hu_persuasion_self_cw', 
    'hu_persuasion_partner_cw', 
    'hu_pressure_self_cw', 
    'hu_pressure_partner_cw', 
    'hu_pushing_self_cw', 
    'hu_pushing_partner_cw', 
    'hu_planPlan',
    'hu_day', 
    'hu_weartime_self_cw',

    'hu_support_self_cw',
    'hu_support_partner_cw',
    'hu_isWeekendWeekend',
    'hu_got_JITAI_selfJITAIreceived',
    'hu_skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'hu_persuasion_self_cb',
    'hu_persuasion_partner_cb',
    'hu_pressure_self_cb',
    'hu_pressure_partner_cb',
    'hu_pushing_self_cb',
    'hu_pushing_partner_cb',
    'hu_weartime_self_cb',
    
    'hu_support_self_cb',
    'hu_support_partner_cb',
    'hu_studyGroupFirst3weeksinterventions',
    'hu_studyGrouplast3weeksinterventions'
    
  )

model_rows_fixed_hu_ordinal <- c(
  model_rows_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed_hu[3:length(model_rows_fixed_hu)]
)


model_rows_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(hu_Intercept)',
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # HURDLE
  'sd(hu_persuasion_self_cw)',
  'sd(hu_persuasion_partner_cw)',
  'sd(hu_pressure_self_cw)',
  'sd(hu_pressure_partner_cw)',
  'sd(hu_pushing_self_cw)',
  'sd(hu_pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_hu_ordinal <- c(model_rows_random_hu,'disc')
# For indistinguishable Dyads
model_rownames_fixed_hu <- c(
    "Intercept", 
    "Hurdle Intercept",
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    'Actionplan',
    "Day", 
    "Daily weartime",

    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime", 
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3',
    
    # HURDLE
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Hu Daily persuasion experienced", 
    "Hu Daily persuasion utilized (partner's view)", # OR partner received
    "Hu Daily pressure experienced", 
    "Hu Daily pressure utilized (partner's view)", 
    "Hu Daily pushing experienced", 
    "Hu Daily pushing utilized (partner's view)", 
    'Hu Actionplan',
    "Hu Day", 
    "Hu Daily weartime",

    'Hu Daily support received',
    "Hu Daily support provided (partner's view)",
    'Hu Is a Weekend',
    'Hu JITAI received',
    'Hu Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Hu Mean persuasion experienced", 
    "Hu Mean persuasion utilized (partner's view)", 
    "Hu Mean pressure experienced", 
    "Hu Mean pressure utilized (partner's view)", 
    "Hu Mean pushing experienced", 
    "Hu Mean pushing utilized (partner's view)", 
    "Hu Mean weartime",
    
    'Hu Mean support received',
    "Hu Mean support provided (partner's view)",
    'Hu Difference study group 2',
    'Hu Difference study group 3'
  )



model_rownames_fixed_hu_ordinal <- c(
  model_rownames_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed_hu[3:length(model_rownames_fixed_hu)]
)



model_rownames_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(Hurdle Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  
  # Hurdle
  "sd(Hu Daily persuasion experienced)", 
  "sd(Hu Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Hu Daily pressure experienced)", 
  "sd(Hu Daily pressure utilized (partner's view))", 
  "sd(Hu Daily pushing experienced)", 
  "sd(Hu Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_hu_ordinal <- c(model_rownames_random_hu,'disc')
rows_to_pack_hu <- list(
  "Conditional Within-Person Effects" = c(3,16),
  "Conditional Between-Person Effects" = c(17,27),
  
  "Hurdle Within-Person Effects" = c(28,41),
  "Hurdle Between-Person Effects" = c(42,52),
  
  "Random Effects" = c(53, 66), 
  "Additional Parameters" = c(67,67)
  )

rows_to_pack_hu_ordinal <- list(
  "Conditional Within-Person Effects" = c(3+5,16+5),
  "Conditional Between-Person Effects" = c(17+5,27+5),
  
  "Hurdle Within-Person Effects" = c(28+5,41+5),
  "Hurdle Between-Person Effects" = c(42+5,52+5),
  
  "Random Effects" = c(53+5, 66+5), 
  "Additional Parameters" = c(67+5,67+6)
  )

Self-Reported MVPA

Hurdle Lognormal Model

formula <- bf(
  pa_sub ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    plan +
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID),
  
  hu = ~ persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    plan +
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
) 

prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "b", dpar = "hu")
  , brms::set_prior("normal(0, 50)", class = "Intercept") # for non-zero PA
  , brms::set_prior("normal(0.5, 2.5)", class = "Intercept", dpar = 'hu') # hurdle part
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = hurdle_lognormal()
#)

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_sub <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::hurdle_lognormal(), 
  #family = brms::hurdle_negbinomial(), 
  #family = brms::hurdle_poisson(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 42,
  file = file.path("models_cache_brms", paste0("pa_sub_hu_lognormal_senssocial_", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
pa_sub_digest <- digest::digest(pa_sub)
# summarize with rope range for hurdle part
summary_pa_sub_hurdle <- summarize_brms(
  pa_sub, 
  stats_to_report = c('pd','ROPE'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("pd", "ROPE"), rope_range
## = c(-0.18, : Coefficients were exponentiated. Double check if this was
## intended.
# rope range for continuous part of the model
rope_factor <- sd(log(pa_sub$data$pa_sub[pa_sub$data$pa_sub > 0]))
rope_range_continuous = c(-0.1 * rope_factor, 0.1 * rope_factor)

summary_pa_sub_continuous <- summarize_brms(
  pa_sub, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_continuous,
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
# Replace only the ROPE and % in Rope columns for rows with 'Hu'
summary_pa_sub <- summary_pa_sub_continuous

columns_to_replace <- c("ROPE", "inside ROPE")

summary_pa_sub[grepl('Hu', rownames(summary_pa_sub)), columns_to_replace] <- 
  summary_pa_sub_hurdle[grepl('Hu', rownames(summary_pa_sub_hurdle)), columns_to_replace]

# Print the updated dataframe
summary_pa_sub %>%
  print_df(rows_to_pack = rows_to_pack_hu)
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 37.21*** 2.58 [32.43, 42.63] 1.000 [0.92, 1.08] 0.000 1.006 1011 1788
Hurdle Intercept 0.28*** 0.04 [ 0.20, 0.38] 1.000 [0.84, 1.20] 0.000 1.001 1011 1805
Conditional Within-Person Effects
Daily persuasion experienced 0.99 0.03 [ 0.94, 1.05] 0.599 [0.92, 1.08] 0.995 1.003 1398 2359
Daily persuasion utilized (partner’s view) 1.00 0.02 [ 0.96, 1.05] 0.554 [0.92, 1.08] 0.998 1.001 2478 2688
Daily pressure experienced 0.92 0.04 [ 0.83, 1.01] 0.960 [0.92, 1.08] 0.430 1.001 3295 2859
Daily pressure utilized (partner’s view) 0.95 0.04 [ 0.87, 1.02] 0.906 [0.92, 1.08] 0.706 1.000 4052 2948
Daily pushing experienced 0.97 0.03 [ 0.91, 1.03] 0.835 [0.92, 1.08] 0.925 1.000 2625 2611
Daily pushing utilized (partner’s view) 0.96 0.03 [ 0.90, 1.01] 0.940 [0.92, 1.08] 0.866 1.000 3296 2860
Actionplan 1.37*** 0.06 [ 1.26, 1.50] 1.000 [0.92, 1.08] 0.000 1.000 3970 3020
Day 1.00 0.06 [ 0.89, 1.12] 0.529 [0.92, 1.08] 0.800 1.000 4104 3195
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received 1.07*** 0.01 [ 1.05, 1.10] 1.000 [0.92, 1.08] 0.740 1.004 5994 3390
Daily support provided (partner’s view) 1.05*** 0.01 [ 1.02, 1.08] 1.000 [0.92, 1.08] 0.985 1.000 5041 3163
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Conditional Between-Person Effects
Mean persuasion experienced 0.93 0.15 [ 0.69, 1.27] 0.678 [0.92, 1.08] 0.345 1.003 831 1586
Mean persuasion utilized (partner’s view) 0.99 0.16 [ 0.73, 1.36] 0.528 [0.92, 1.08] 0.367 1.005 802 1502
Mean pressure experienced 1.28 0.23 [ 0.91, 1.82] 0.921 [0.92, 1.08] 0.135 1.002 1136 1948
Mean pressure utilized (partner’s view) 0.93 0.16 [ 0.64, 1.31] 0.665 [0.92, 1.08] 0.312 1.002 1251 2135
Mean pushing experienced 1.15 0.28 [ 0.70, 1.85] 0.716 [0.92, 1.08] 0.216 1.003 1146 1640
Mean pushing utilized (partner’s view) 1.08 0.25 [ 0.67, 1.78] 0.636 [0.92, 1.08] 0.251 1.006 1152 1840
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 1.12* 0.05 [ 1.03, 1.23] 0.995 [0.92, 1.08] 0.201 1.005 1552 2617
Mean support provided (partner’s view) 0.97 0.05 [ 0.89, 1.07] 0.729 [0.92, 1.08] 0.841 1.002 1473 2196
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.21** 0.08 [ 1.06, 1.41] 0.999 [0.84, 1.20] 0.438 1.001 3225 2988
Hu Daily persuasion utilized (partner’s view) 1.09 0.07 [ 0.95, 1.25] 0.887 [0.84, 1.20] 0.916 1.000 3266 2647
Hu Daily pressure experienced 0.92 0.15 [ 0.65, 1.28] 0.704 [0.84, 1.20] 0.655 1.000 2937 2420
Hu Daily pressure utilized (partner’s view) 1.64* 0.35 [ 1.10, 2.69] 0.993 [0.84, 1.20] 0.059 1.001 2902 2542
Hu Daily pushing experienced 0.83 0.12 [ 0.64, 1.16] 0.885 [0.84, 1.20] 0.462 1.001 2238 2232
Hu Daily pushing utilized (partner’s view) 1.18 0.14 [ 0.96, 1.50] 0.937 [0.84, 1.20] 0.549 1.000 3524 3075
Hu Actionplan 9.88*** 0.99 [ 8.14, 11.98] 1.000 [0.84, 1.20] 0.000 1.001 4498 2953
Hu Day 0.93 0.14 [ 0.69, 1.24] 0.690 [0.84, 1.20] 0.708 1.002 5649 3074
Hu Daily weartime NA NA NA NA NA NA NA NA NA
Hu Daily support received 1.70*** 0.08 [ 1.56, 1.87] 1.000 [0.84, 1.20] 0.000 1.000 4346 3166
Hu Daily support provided (partner’s view) 1.40*** 0.06 [ 1.28, 1.53] 1.000 [0.84, 1.20] 0.000 1.002 4591 2977
Hu Is a Weekend NA NA NA NA NA NA NA NA NA
Hu JITAI received NA NA NA NA NA NA NA NA NA
Hu Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.27 0.50 [ 0.58, 2.79] 0.727 [0.84, 1.20] 0.288 1.002 787 1427
Hu Mean persuasion utilized (partner’s view) 1.10 0.44 [ 0.49, 2.45] 0.600 [0.84, 1.20] 0.341 1.003 791 1281
Hu Mean pressure experienced 0.36* 0.16 [ 0.14, 0.85] 0.990 [0.84, 1.20] 0.024 1.002 1177 2029
Hu Mean pressure utilized (partner’s view) 0.60 0.26 [ 0.25, 1.44] 0.870 [0.84, 1.20] 0.167 1.001 1286 2131
Hu Mean pushing experienced 0.64 0.38 [ 0.20, 2.17] 0.767 [0.84, 1.20] 0.189 1.001 1309 2165
Hu Mean pushing utilized (partner’s view) 1.34 0.78 [ 0.42, 4.18] 0.691 [0.84, 1.20] 0.226 1.001 1370 2130
Hu Mean weartime NA NA NA NA NA NA NA NA NA
Hu Mean support received 1.28 0.16 [ 1.00, 1.64] 0.974 [0.84, 1.20] 0.299 1.001 1499 1918
Hu Mean support provided (partner’s view) 1.40* 0.17 [ 1.09, 1.81] 0.995 [0.84, 1.20] 0.115 1.001 1673 2203
Hu Difference study group 2 NA NA NA NA NA NA NA NA NA
Hu Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.31 0.04 [0.24, 0.41] NA NA NA 1.003 1095 1650
sd(Hurdle Intercept) 0.76 0.11 [0.58, 1.03] NA NA NA 1.003 1085 2065
sd(Daily persuasion experienced) 0.11 0.02 [0.07, 0.16] NA NA NA 1.000 1848 2638
sd(Daily persuasion utilized (partner’s view)) 0.08 0.02 [0.05, 0.13] NA NA NA 1.000 2445 2762
sd(Daily pressure experienced) 0.06 0.05 [0.00, 0.21] NA NA NA 1.000 1544 1520
sd(Daily pressure utilized (partner’s view)) 0.05 0.04 [0.00, 0.17] NA NA NA 1.001 1530 1268
sd(Daily pushing experienced) 0.09 0.04 [0.02, 0.16] NA NA NA 1.005 1171 815
sd(Daily pushing utilized (partner’s view)) 0.07 0.04 [0.01, 0.15] NA NA NA 1.002 1302 1208
sd(Hu Daily persuasion experienced) 0.15 0.10 [0.01, 0.36] NA NA NA 1.002 889 1015
sd(Hu Daily persuasion utilized (partner’s view)) 0.18 0.10 [0.01, 0.39] NA NA NA 1.001 802 868
sd(Hu Daily pressure experienced) 0.22 0.19 [0.01, 0.81] NA NA NA 1.002 1559 1832
sd(Hu Daily pressure utilized (partner’s view)) 0.36 0.27 [0.02, 1.12] NA NA NA 1.003 1277 1857
sd(Hu Daily pushing experienced) 0.54 0.17 [0.27, 0.96] NA NA NA 1.002 1808 2352
sd(Hu Daily pushing utilized (partner’s view)) 0.19 0.14 [0.01, 0.52] NA NA NA 1.000 1576 2105
Additional Parameters
sigma 0.66 0.01 [0.64, 0.69] NA NA NA 1.001 5110 2796
# Plot continuous part of model

variable <- c(
  '(Intercept)',
  'b_persuasion_self_cw',
  'b_persuasion_partner_cw',
  'b_pressure_self_cw',
  'b_pressure_partner_cw',
  'b_pushing_self_cw',
  'b_pushing_partner_cw'
)


plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(
    pa_sub, 
    parameter = variable, 
    range = rope_range_continuous,
    verbose = F,
    ci = 1
  )
) + theme_bw()

# Hurdle part of the model
variable <- c(
  'b_hu_persuasion_self_cw',
  'b_hu_persuasion_partner_cw',
  'b_hu_pressure_self_cw',
  'b_hu_pressure_partner_cw',
  'b_hu_pushing_self_cw',
  'b_hu_pushing_partner_cw'
)

plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length

# The rope range for the bernoulli part of the model is -0.18, 0.18
plot(
  bayestestR::rope(pa_sub, parameter = variable, range = c(-0.18, 0.18), ci = 1),
  verbose = FALSE
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.74), b_hu_persuasion_partner_cb and
##   b_hu_persuasion_self_cb (r = 0.74). This might lead to inappropriate
##   results. See 'Details' in '?rope'.

Device Based MVPA

Lognormal Model

formula <- bf(
  pa_obj ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    plan +
    day + weartime_self_cw + weartime_self_cb +
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 50)", class = "Intercept") 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = lognormal()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_obj_log <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = lognormal(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("pa_obj_log_gaussian_senssocial_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
pa_obj_log_digest <- digest::digest(pa_obj_log)
# rope range for lognormal model
rope_factor <- sd(log(pa_obj_log$data$pa_obj))
rope_range_log = c(-0.1 * rope_factor, 0.1 * rope_factor)

summarize_brms(
  pa_obj_log, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_log,
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
## Warning in summarize_brms(pa_obj_log, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 113.07*** 5.93 [101.97, 125.54] 1.000 [0.94, 1.07] 0.000 1.002 1350 2351
Within-Person Effects
Daily persuasion experienced 1.01 0.02 [ 0.98, 1.04] 0.703 [0.94, 1.07] 1.000 1.001 5405 3046
Daily persuasion utilized (partner’s view) 1.01 0.02 [ 0.98, 1.04] 0.680 [0.94, 1.07] 1.000 1.001 5270 3290
Daily pressure experienced 0.95 0.03 [ 0.89, 1.02] 0.940 [0.94, 1.07] 0.641 1.003 6350 2893
Daily pressure utilized (partner’s view) 0.98 0.03 [ 0.91, 1.04] 0.761 [0.94, 1.07] 0.893 1.002 7168 3349
Daily pushing experienced 1.01 0.02 [ 0.96, 1.05] 0.607 [0.94, 1.07] 0.990 1.001 5175 3612
Daily pushing utilized (partner’s view) 1.00 0.02 [ 0.96, 1.04] 0.506 [0.94, 1.07] 0.998 1.001 7387 3048
Actionplan 1.07** 0.02 [ 1.02, 1.12] 0.998 [0.94, 1.07] 0.406 1.001 10183 2805
Day 0.97 0.03 [ 0.91, 1.04] 0.769 [0.94, 1.07] 0.868 1.001 9055 2805
Daily weartime 1.00*** 0.00 [ 1.00, 1.00] 1.000 [0.94, 1.07] 1.000 1.002 4636 2500
Daily support received 1.04*** 0.01 [ 1.02, 1.06] 1.000 [0.94, 1.07] 1.000 1.002 9153 3129
Daily support provided (partner’s view) 1.01 0.01 [ 0.99, 1.03] 0.923 [0.94, 1.07] 1.000 1.001 8724 3014
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 1.05 0.15 [ 0.79, 1.39] 0.639 [0.94, 1.07] 0.322 1.001 1223 2225
Mean persuasion utilized (partner’s view) 0.97 0.14 [ 0.72, 1.29] 0.588 [0.94, 1.07] 0.342 1.000 1257 2270
Mean pressure experienced 1.04 0.15 [ 0.79, 1.40] 0.613 [0.94, 1.07] 0.331 1.001 1797 2529
Mean pressure utilized (partner’s view) 0.96 0.13 [ 0.73, 1.27] 0.605 [0.94, 1.07] 0.356 1.001 1663 2516
Mean pushing experienced 0.91 0.20 [ 0.59, 1.42] 0.675 [0.94, 1.07] 0.201 1.001 1283 2269
Mean pushing utilized (partner’s view) 1.13 0.26 [ 0.73, 1.75] 0.692 [0.94, 1.07] 0.190 1.001 1217 1961
Mean weartime 1.00 0.00 [ 1.00, 1.00] 0.944 [0.94, 1.07] 1.000 1.000 6284 3557
Mean support received 1.07 0.05 [ 0.99, 1.16] 0.950 [0.94, 1.07] 0.430 1.002 1485 2156
Mean support provided (partner’s view) 1.01 0.04 [ 0.93, 1.09] 0.568 [0.94, 1.07] 0.862 1.003 1527 2410
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.30 0.04 [0.23, 0.40] NA NA NA 1.002 1285 2096
sd(Daily persuasion experienced) 0.05 0.01 [0.02, 0.08] NA NA NA 1.002 1845 1142
sd(Daily persuasion utilized (partner’s view)) 0.05 0.02 [0.02, 0.09] NA NA NA 1.000 2455 2908
sd(Daily pressure experienced) 0.04 0.03 [0.00, 0.14] NA NA NA 1.001 2387 2649
sd(Daily pressure utilized (partner’s view)) 0.03 0.03 [0.00, 0.10] NA NA NA 1.000 3014 2607
sd(Daily pushing experienced) 0.07 0.04 [0.01, 0.14] NA NA NA 1.007 1272 1572
sd(Daily pushing utilized (partner’s view)) 0.03 0.03 [0.00, 0.09] NA NA NA 1.002 1760 1830
Additional Parameters
sigma 0.57 0.01 [0.56, 0.59] NA NA NA 1.002 9056 2984
plot(
  bayestestR::p_direction(pa_obj_log),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(pa_obj_log, range = rope_range_log, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.89), b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.74), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.74), b_pressure_self_cb and
##   b_persuasion_partner_cb (r = 0.71), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.77), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.85). This might lead to inappropriate results.
##   See 'Details' in '?rope'.

# Nothing significant, no plots

Affect

Gaussian

formula <- bf(
  aff ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    plan +
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 5)", class = "b")
  ,brms::set_prior("normal(0, 20)", class = "Intercept", lb=1, ub=6)
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = gaussian()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

mood_gauss <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = gaussian(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("mood_gauss_senssocial_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
mood_gauss_digest <- digest::digest(mood_gauss)
summarize_brms(
  mood_gauss, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = F) %>%
  print_df(rows_to_pack = rows_to_pack)
Est. SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 3.67*** 0.10 [ 3.47, 3.88] 1.000 [-0.11, 0.11] 0.000 1.005 545 1305
Within-Person Effects
Daily persuasion experienced -0.04 0.02 [-0.08, 0.00] 0.970 [-0.11, 0.11] 1.000 1.000 3042 2871
Daily persuasion utilized (partner’s view) -0.01 0.02 [-0.05, 0.04] 0.600 [-0.11, 0.11] 1.000 1.002 3399 2890
Daily pressure experienced -0.04 0.06 [-0.16, 0.07] 0.734 [-0.11, 0.11] 0.915 1.001 3162 2287
Daily pressure utilized (partner’s view) -0.02 0.05 [-0.13, 0.09] 0.629 [-0.11, 0.11] 0.948 1.001 3686 2928
Daily pushing experienced -0.01 0.03 [-0.08, 0.05] 0.666 [-0.11, 0.11] 0.999 1.000 4070 3238
Daily pushing utilized (partner’s view) 0.05 0.03 [-0.02, 0.12] 0.941 [-0.11, 0.11] 0.972 1.001 3377 2955
Actionplan 0.06 0.04 [-0.01, 0.13] 0.961 [-0.11, 0.11] 0.914 1.001 6092 3026
Day 0.26*** 0.06 [ 0.15, 0.37] 1.000 [-0.11, 0.11] 0.002 1.002 5215 2985
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received 0.08*** 0.01 [ 0.05, 0.11] 1.000 [-0.11, 0.11] 0.992 1.001 5384 2572
Daily support provided (partner’s view) 0.04* 0.01 [ 0.01, 0.06] 0.993 [-0.11, 0.11] 1.000 1.000 5341 3239
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 0.24 0.29 [-0.33, 0.85] 0.798 [-0.11, 0.11] 0.228 1.004 413 753
Mean persuasion utilized (partner’s view) 0.31 0.28 [-0.26, 0.91] 0.861 [-0.11, 0.11] 0.174 1.004 420 793
Mean pressure experienced -0.26 0.28 [-0.84, 0.26] 0.826 [-0.11, 0.11] 0.223 1.003 513 929
Mean pressure utilized (partner’s view) -0.33 0.28 [-0.91, 0.20] 0.887 [-0.11, 0.11] 0.164 1.002 518 926
Mean pushing experienced 0.22 0.43 [-0.64, 1.10] 0.696 [-0.11, 0.11] 0.183 1.015 568 1118
Mean pushing utilized (partner’s view) 0.16 0.43 [-0.69, 1.01] 0.651 [-0.11, 0.11] 0.195 1.014 649 1179
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.15 0.08 [ 0.00, 0.30] 0.973 [-0.11, 0.11] 0.330 1.003 876 1428
Mean support provided (partner’s view) -0.08 0.08 [-0.23, 0.06] 0.870 [-0.11, 0.11] 0.645 1.002 878 1527
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.60 0.08 [0.48, 0.79] NA NA NA 1.003 917 1498
sd(Daily persuasion experienced) 0.04 0.03 [0.00, 0.10] NA NA NA 1.003 1051 1527
sd(Daily persuasion utilized (partner’s view)) 0.07 0.03 [0.01, 0.12] NA NA NA 1.004 952 685
sd(Daily pressure experienced) 0.07 0.07 [0.00, 0.26] NA NA NA 1.002 1532 1892
sd(Daily pressure utilized (partner’s view)) 0.07 0.07 [0.00, 0.25] NA NA NA 1.002 1547 1886
sd(Daily pushing experienced) 0.05 0.04 [0.00, 0.14] NA NA NA 1.002 1537 1887
sd(Daily pushing utilized (partner’s view)) 0.06 0.04 [0.01, 0.15] NA NA NA 1.001 1572 1818
Additional Parameters
sigma 0.95 0.01 [0.93, 0.97] NA NA NA 1.001 6197 2944
plot(
  bayestestR::p_direction(mood_gauss),
  priors = TRUE
)  + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(mood_gauss, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.83), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.8), b_pressure_self_cb and
##   b_persuasion_partner_cb (r = 0.81), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.83), b_pressure_partner_cb and
##   b_pressure_self_cb (r = 0.78), b_support_partner_cb and
##   b_support_self_cb (r = 0.75). This might lead to inappropriate results.
##   See 'Details' in '?rope'.

conditional_spaghetti(
  mood_gauss, 
  effects = c('pushing_partner_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

$pushing_partner_cw

Reactance

Ordinal

df_double$reactance_ordinal <- factor(df_double$reactance,
                                      levels = 0:5, 
                                      ordered = TRUE)

formula <- bf(
  reactance_ordinal ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    plan +
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = cumulative() # HURDLE_CUMULATIVE
#  )


#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

reactance_ordinal <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::cumulative(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777
  , file = file.path("models_cache_brms", paste0("reactance_ordinal_senssocial_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
reactance_ordinal_digest <- digest::digest(reactance_ordinal)
summarize_brms(
  reactance_ordinal,
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_ordinal,
  model_rows_random = model_rows_random_ordinal,
  model_rownames_fixed = model_rownames_fixed_ordinal,
  model_rownames_random = model_rownames_random_ordinal,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack_ordinal)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercepts
Intercept NA NA NA NA NA NA NA NA NA
Intercept[1] 3.50*** 1.07 [ 1.95, 6.33] 1.000 [0.84, 1.20] 0.000 1.002 2588 3496
Intercept[2] 7.73*** 2.42 [ 4.26, 14.34] 1.000 [0.84, 1.20] 0.000 1.002 2751 3567
Intercept[3] 21.63*** 7.12 [ 11.15, 42.26] 1.000 [0.84, 1.20] 0.000 1.002 2801 3217
Intercept[4] 97.43*** 37.63 [ 45.96, 211.81] 1.000 [0.84, 1.20] 0.000 1.001 3666 2982
Intercept[5] 3485.88*** 2328.39 [1016.25, 13218.52] 1.000 [0.84, 1.20] 0.000 1.001 4722 3058
Within-Person Effects
Daily persuasion experienced 0.92 0.08 [ 0.76, 1.09] 0.846 [0.84, 1.20] 0.845 1.001 3111 2370
Daily persuasion utilized (partner’s view) 1.12 0.12 [ 0.90, 1.39] 0.870 [0.84, 1.20] 0.721 1.001 3105 3190
Daily pressure experienced 1.83* 0.37 [ 1.14, 2.63] 0.991 [0.84, 1.20] 0.031 1.002 1803 2209
Daily pressure utilized (partner’s view) 1.19 0.28 [ 0.67, 2.05] 0.774 [0.84, 1.20] 0.422 1.003 2079 1815
Daily pushing experienced 1.28* 0.15 [ 1.02, 1.63] 0.983 [0.84, 1.20] 0.292 1.000 2003 2315
Daily pushing utilized (partner’s view) 0.95 0.12 [ 0.73, 1.23] 0.658 [0.84, 1.20] 0.811 1.000 2831 2427
Actionplan 0.89 0.23 [ 0.54, 1.48] 0.659 [0.84, 1.20] 0.482 1.000 3464 3309
Day 1.42 0.50 [ 0.75, 2.78] 0.850 [0.84, 1.20] 0.240 1.000 4282 3084
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received 0.82** 0.06 [ 0.70, 0.95] 0.998 [0.84, 1.20] 0.385 1.001 3955 2956
Daily support provided (partner’s view) 0.86 0.06 [ 0.74, 1.00] 0.975 [0.84, 1.20] 0.675 1.001 3954 2751
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 1.34 0.71 [ 0.49, 3.93] 0.703 [0.84, 1.20] 0.234 1.001 1451 1989
Mean persuasion utilized (partner’s view) 1.45 0.87 [ 0.45, 4.75] 0.740 [0.84, 1.20] 0.194 1.001 1421 2419
Mean pressure experienced 3.38* 1.89 [ 1.15, 10.17] 0.987 [0.84, 1.20] 0.025 1.002 1677 2525
Mean pressure utilized (partner’s view) 1.27 0.74 [ 0.39, 4.02] 0.666 [0.84, 1.20] 0.220 1.001 1381 2146
Mean pushing experienced 1.74 1.40 [ 0.35, 9.18] 0.752 [0.84, 1.20] 0.132 1.002 1781 2564
Mean pushing utilized (partner’s view) 0.13* 0.12 [ 0.02, 0.82] 0.985 [0.84, 1.20] 0.014 1.002 2417 2858
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.70 0.21 [ 0.38, 1.22] 0.900 [0.84, 1.20] 0.240 1.001 2875 2746
Mean support provided (partner’s view) 0.88 0.20 [ 0.55, 1.34] 0.732 [0.84, 1.20] 0.504 1.001 2534 2870
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.83 0.21 [0.46, 1.31] NA NA NA 1.001 1157 2319
sd(Daily persuasion experienced) 0.18 0.13 [0.01, 0.46] NA NA NA 1.002 723 1088
sd(Daily persuasion utilized (partner’s view)) 0.23 0.15 [0.02, 0.55] NA NA NA 1.003 949 1112
sd(Daily pressure experienced) 0.54 0.25 [0.09, 1.16] NA NA NA 1.004 739 770
sd(Daily pressure utilized (partner’s view)) 0.41 0.39 [0.02, 1.57] NA NA NA 1.005 1098 1750
sd(Daily pushing experienced) 0.24 0.14 [0.03, 0.55] NA NA NA 1.009 810 1143
sd(Daily pushing utilized (partner’s view)) 0.14 0.13 [0.01, 0.62] NA NA NA 1.001 1416 2082
Additional Parameters
sigma NA NA NA NA NA NA NA NA NA
disc 1.00 0.00 [1.00, 1.00] NA NA NA NA NA NA
plot(
  bayestestR::p_direction(reactance_ordinal),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(reactance_ordinal, range = c(-0.18, 0.18), ci = 1)
) + theme_bw()
## Possible multicollinearity between b_Intercept[4] and b_Intercept[2] (r
##   = 0.8), b_Intercept[4] and b_Intercept[3] (r = 0.86),
##   b_pressure_partner_cb and b_persuasion_partner_cb (r = 0.78). This might
##   lead to inappropriate results. See 'Details' in '?rope'.

conditional_spaghetti(
  reactance_ordinal, 
  effects = c('persuasion_self_cw', 'pressure_self_cw')
  , group_var = 'coupleID'
  #, n_groups = 15
  , plot_full_range = T
)

\(persuasion_self_cw <img src="04_SensitivityExchangeProcessesCovariates_files/figure-html/report_reactance_ordinal-3.png" width="2400" />\)pressure_self_cw

Binary

introduce_binary_reactance <- function(data) {
  data$is_reactance <- factor(data$reactance > 0, levels = c(FALSE, TRUE), labels = c(0, 1))
  return(data)
}



df_double <- introduce_binary_reactance(df_double)
if (use_mi) {
  for (i in seq_along(implist)) {
    implist[[i]] <- introduce_binary_reactance(implist[[i]])
  }
}


formula <- bf(
  is_reactance ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    support_self_cw + support_partner_cw + 
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    plan +
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
  )



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 10)", class = "Intercept", lb=0, ub=5) 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = bernoulli()
#  )



#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

is_reactance <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::bernoulli(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("is_reactance_senssocial_", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
is_reactance_digest <- digest::digest(is_reactance)
summarize_brms(
  is_reactance, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 0.33** 0.11 [0.17, 0.64] 0.999 [0.83, 1.20] 0.004 1.001 3419 3120
Within-Person Effects
Daily persuasion experienced 0.91 0.09 [0.73, 1.12] 0.814 [0.83, 1.20] 0.797 1.000 3143 2599
Daily persuasion utilized (partner’s view) 1.23 0.19 [0.89, 1.70] 0.905 [0.83, 1.20] 0.426 1.002 2365 2738
Daily pressure experienced 1.95* 0.59 [1.06, 4.33] 0.982 [0.83, 1.20] 0.048 1.001 2142 1934
Daily pressure utilized (partner’s view) 1.32 0.55 [0.54, 4.07] 0.753 [0.83, 1.20] 0.277 1.000 2138 2101
Daily pushing experienced 1.39* 0.18 [1.06, 1.82] 0.989 [0.83, 1.20] 0.138 1.002 3286 2817
Daily pushing utilized (partner’s view) 0.94 0.18 [0.62, 1.40] 0.627 [0.83, 1.20] 0.629 1.002 2604 2440
Actionplan 0.91 0.26 [0.52, 1.57] 0.629 [0.83, 1.20] 0.457 1.001 4643 3305
Day 1.55 0.64 [0.71, 3.37] 0.861 [0.83, 1.20] 0.210 1.001 5070 3400
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received 0.83* 0.07 [0.70, 0.97] 0.989 [0.83, 1.20] 0.454 1.000 3747 2606
Daily support provided (partner’s view) 0.87 0.07 [0.73, 1.02] 0.959 [0.83, 1.20] 0.671 1.001 5011 2988
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 2.27 1.44 [0.67, 7.95] 0.904 [0.83, 1.20] 0.103 1.001 1909 2430
Mean persuasion utilized (partner’s view) 2.12 1.51 [0.56, 8.81] 0.860 [0.83, 1.20] 0.121 1.001 1772 2691
Mean pressure experienced 19.58** 21.41 [2.59, 194.63] 0.999 [0.83, 1.20] 0.002 1.000 1829 2481
Mean pressure utilized (partner’s view) 2.63 2.94 [0.25, 22.39] 0.793 [0.83, 1.20] 0.084 1.003 2247 2962
Mean pushing experienced 1.30 1.38 [0.16, 11.04] 0.603 [0.83, 1.20] 0.139 1.001 2019 2135
Mean pushing utilized (partner’s view) 0.09* 0.10 [0.01, 0.91] 0.979 [0.83, 1.20] 0.016 1.002 2104 2462
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.73 0.24 [0.37, 1.41] 0.827 [0.83, 1.20] 0.260 1.001 3258 2872
Mean support provided (partner’s view) 0.80 0.21 [0.47, 1.33] 0.816 [0.83, 1.20] 0.381 1.002 2407 2780
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 1.20 0.27 [0.76, 1.84] NA NA NA 1.002 1448 2375
sd(Daily persuasion experienced) 0.24 0.14 [0.02, 0.57] NA NA NA 1.004 612 1078
sd(Daily persuasion utilized (partner’s view)) 0.51 0.21 [0.12, 1.01] NA NA NA 1.004 1208 1000
sd(Daily pressure experienced) 0.94 0.57 [0.07, 2.29] NA NA NA 1.005 706 907
sd(Daily pressure utilized (partner’s view)) 0.80 0.67 [0.04, 2.72] NA NA NA 1.006 1421 1732
sd(Daily pushing experienced) 0.25 0.16 [0.02, 0.64] NA NA NA 1.002 1360 1592
sd(Daily pushing utilized (partner’s view)) 0.25 0.23 [0.01, 0.96] NA NA NA 1.002 1202 1698
Additional Parameters
sigma NA NA NA NA NA NA NA NA NA
plot(
  bayestestR::p_direction(is_reactance),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(is_reactance, ci = 1)
) + theme_bw()

conditional_spaghetti(
  is_reactance, 
  effects = c('pressure_self_cw', 'pushing_self_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

\(pressure_self_cw <img src="04_SensitivityExchangeProcessesCovariates_files/figure-html/report_is_reactance-3.png" width="2400" />\)pushing_self_cw

Report All Models

process_model_component <- function(obj) {
  # Convert to string, modify, and evaluate
  name <- deparse(substitute(obj))
  if (report_hurdle) name <- paste0(name, '_hu')
  if (report_ordinal) name <- paste0(name, '_ordinal')
  return(get(name, envir = parent.frame()))
}



all_models <- report_side_by_side(
  pa_sub,
  pa_obj_log,
  mood_gauss,
  reactance_ordinal,
  is_reactance,
  
  stats_to_report = c('CI', 'pd'),
  
  model_rows_random = process_model_component(model_rows_random),
  model_rows_fixed = process_model_component(model_rows_fixed),
  model_rownames_random = process_model_component(model_rownames_random),
  model_rownames_fixed = process_model_component(model_rownames_fixed)
) 

[1] “pa_sub”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “pa_obj_log”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “mood_gauss” [1] “reactance_ordinal” [1] “is_reactance”

# pretty printing

summary_all_models <- all_models %>%
  print_df(rows_to_pack = process_model_component(rows_to_pack)) %>%
  add_header_above(
    c(" ", "Subjective MVPA Hurdle Lognormal" = (length(all_models) / 5),  
      "Device-Based MVPA Log (Gaussian)" = (length(all_models) / 5), 
      "Mood Gaussian" = (length(all_models) / 5),
      "Reactance Ordinal" = (length(all_models) / 5),
      "Reactance Dichotome" = (length(all_models) / 5))
  )


export_xlsx(
  summary_all_models, 
  rows_to_pack = process_model_component(rows_to_pack),
  file.path("Output", "AllModels_sensSocial.xlsx"), 
  merge_option = 'header', 
  simplify_2nd_row = TRUE,
  line_above_rows = c(1,2),
  line_below_rows = c(-1)
)
## 
## Attaching package: 'rvest'
## The following object is masked from 'package:readr':
## 
##     guess_encoding
print(summary_all_models)
Subjective MVPA Hurdle Lognormal
Device-Based MVPA Log (Gaussian)
Mood Gaussian
Reactance Ordinal
Reactance Dichotome
exp(Est.) pa_sub 95% CI pa_sub pd pa_sub exp(Est.) pa_obj_log 95% CI pa_obj_log pd pa_obj_log Est. mood_gauss 95% CI mood_gauss pd mood_gauss OR reactance_ordinal 95% CI reactance_ordinal pd reactance_ordinal OR is_reactance 95% CI is_reactance pd is_reactance
Intercept 37.21*** [32.43, 42.63] 1.000 113.07*** [101.97, 125.54] 1.000 3.67*** [ 3.47, 3.88] 1.000 NA NA NA 0.33** [0.17, 0.64] 0.999
Hurdle Intercept 0.28*** [ 0.20, 0.38] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Conditional Within-Person Effects
Daily persuasion experienced 0.99 [ 0.94, 1.05] 0.599 1.01 [ 0.98, 1.04] 0.703 -0.04 [-0.08, 0.00] 0.970 0.92 [ 0.76, 1.09] 0.846 0.91 [0.73, 1.12] 0.814
Daily persuasion utilized (partner’s view) 1.00 [ 0.96, 1.05] 0.554 1.01 [ 0.98, 1.04] 0.680 -0.01 [-0.05, 0.04] 0.600 1.12 [ 0.90, 1.39] 0.870 1.23 [0.89, 1.70] 0.905
Daily pressure experienced 0.92 [ 0.83, 1.01] 0.960 0.95 [ 0.89, 1.02] 0.940 -0.04 [-0.16, 0.07] 0.734 1.83* [ 1.14, 2.63] 0.991 1.95* [1.06, 4.33] 0.982
Daily pressure utilized (partner’s view) 0.95 [ 0.87, 1.02] 0.906 0.98 [ 0.91, 1.04] 0.761 -0.02 [-0.13, 0.09] 0.629 1.19 [ 0.67, 2.05] 0.774 1.32 [0.54, 4.07] 0.753
Daily pushing experienced 0.97 [ 0.91, 1.03] 0.835 1.01 [ 0.96, 1.05] 0.607 -0.01 [-0.08, 0.05] 0.666 1.28* [ 1.02, 1.63] 0.983 1.39* [1.06, 1.82] 0.989
Daily pushing utilized (partner’s view) 0.96 [ 0.90, 1.01] 0.940 1.00 [ 0.96, 1.04] 0.506 0.05 [-0.02, 0.12] 0.941 0.95 [ 0.73, 1.23] 0.658 0.94 [0.62, 1.40] 0.627
Actionplan 1.37*** [ 1.26, 1.50] 1.000 1.07** [ 1.02, 1.12] 0.998 0.06 [-0.01, 0.13] 0.961 0.89 [ 0.54, 1.48] 0.659 0.91 [0.52, 1.57] 0.629
Day 1.00 [ 0.89, 1.12] 0.529 0.97 [ 0.91, 1.04] 0.769 0.26*** [ 0.15, 0.37] 1.000 1.42 [ 0.75, 2.78] 0.850 1.55 [0.71, 3.37] 0.861
Daily weartime NA NA NA 1.00*** [ 1.00, 1.00] 1.000 NA NA NA NA NA NA NA NA NA
Daily support received 1.07*** [ 1.05, 1.10] 1.000 1.04*** [ 1.02, 1.06] 1.000 0.08*** [ 0.05, 0.11] 1.000 0.82** [ 0.70, 0.95] 0.998 0.83* [0.70, 0.97] 0.989
Daily support provided (partner’s view) 1.05*** [ 1.02, 1.08] 1.000 1.01 [ 0.99, 1.03] 0.923 0.04* [ 0.01, 0.06] 0.993 0.86 [ 0.74, 1.00] 0.975 0.87 [0.73, 1.02] 0.959
Is a Weekend NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Conditional Between-Person Effects
Mean persuasion experienced 0.93 [ 0.69, 1.27] 0.678 1.05 [ 0.79, 1.39] 0.639 0.24 [-0.33, 0.85] 0.798 1.34 [ 0.49, 3.93] 0.703 2.27 [0.67, 7.95] 0.904
Mean persuasion utilized (partner’s view) 0.99 [ 0.73, 1.36] 0.528 0.97 [ 0.72, 1.29] 0.588 0.31 [-0.26, 0.91] 0.861 1.45 [ 0.45, 4.75] 0.740 2.12 [0.56, 8.81] 0.860
Mean pressure experienced 1.28 [ 0.91, 1.82] 0.921 1.04 [ 0.79, 1.40] 0.613 -0.26 [-0.84, 0.26] 0.826 3.38* [ 1.15, 10.17] 0.987 19.58** [2.59, 194.63] 0.999
Mean pressure utilized (partner’s view) 0.93 [ 0.64, 1.31] 0.665 0.96 [ 0.73, 1.27] 0.605 -0.33 [-0.91, 0.20] 0.887 1.27 [ 0.39, 4.02] 0.666 2.63 [0.25, 22.39] 0.793
Mean pushing experienced 1.15 [ 0.70, 1.85] 0.716 0.91 [ 0.59, 1.42] 0.675 0.22 [-0.64, 1.10] 0.696 1.74 [ 0.35, 9.18] 0.752 1.30 [0.16, 11.04] 0.603
Mean pushing utilized (partner’s view) 1.08 [ 0.67, 1.78] 0.636 1.13 [ 0.73, 1.75] 0.692 0.16 [-0.69, 1.01] 0.651 0.13* [ 0.02, 0.82] 0.985 0.09* [0.01, 0.91] 0.979
Mean weartime NA NA NA 1.00 [ 1.00, 1.00] 0.944 NA NA NA NA NA NA NA NA NA
Mean support received 1.12* [ 1.03, 1.23] 0.995 1.07 [ 0.99, 1.16] 0.950 0.15 [ 0.00, 0.30] 0.973 0.70 [ 0.38, 1.22] 0.900 0.73 [0.37, 1.41] 0.827
Mean support provided (partner’s view) 0.97 [ 0.89, 1.07] 0.729 1.01 [ 0.93, 1.09] 0.568 -0.08 [-0.23, 0.06] 0.870 0.88 [ 0.55, 1.34] 0.732 0.80 [0.47, 1.33] 0.816
Difference study group 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.21** [ 1.06, 1.41] 0.999 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily persuasion utilized (partner’s view) 1.09 [ 0.95, 1.25] 0.887 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure experienced 0.92 [ 0.65, 1.28] 0.704 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure utilized (partner’s view) 1.64* [ 1.10, 2.69] 0.993 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing experienced 0.83 [ 0.64, 1.16] 0.885 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing utilized (partner’s view) 1.18 [ 0.96, 1.50] 0.937 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Actionplan 9.88*** [ 8.14, 11.98] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Day 0.93 [ 0.69, 1.24] 0.690 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support received 1.70*** [ 1.56, 1.87] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support provided (partner’s view) 1.40*** [ 1.28, 1.53] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Is a Weekend NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu JITAI received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Days post skilled support intervention NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.27 [ 0.58, 2.79] 0.727 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean persuasion utilized (partner’s view) 1.10 [ 0.49, 2.45] 0.600 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure experienced 0.36* [ 0.14, 0.85] 0.990 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure utilized (partner’s view) 0.60 [ 0.25, 1.44] 0.870 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing experienced 0.64 [ 0.20, 2.17] 0.767 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing utilized (partner’s view) 1.34 [ 0.42, 4.18] 0.691 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support received 1.28 [ 1.00, 1.64] 0.974 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support provided (partner’s view) 1.40* [ 1.09, 1.81] 0.995 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.31 [0.24, 0.41] NA 0.30 [0.23, 0.40] NA 0.60 [0.48, 0.79] NA 0.83 [0.46, 1.31] NA 1.20 [0.76, 1.84] NA
sd(Hurdle Intercept) 0.76 [0.58, 1.03] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Daily persuasion experienced) 0.11 [0.07, 0.16] NA 0.05 [0.02, 0.08] NA 0.04 [0.00, 0.10] NA 0.18 [0.01, 0.46] NA 0.24 [0.02, 0.57] NA
sd(Daily persuasion utilized (partner’s view)) 0.08 [0.05, 0.13] NA 0.05 [0.02, 0.09] NA 0.07 [0.01, 0.12] NA 0.23 [0.02, 0.55] NA 0.51 [0.12, 1.01] NA
sd(Daily pressure experienced) 0.06 [0.00, 0.21] NA 0.04 [0.00, 0.14] NA 0.07 [0.00, 0.26] NA 0.54 [0.09, 1.16] NA 0.94 [0.07, 2.29] NA
sd(Daily pressure utilized (partner’s view)) 0.05 [0.00, 0.17] NA 0.03 [0.00, 0.10] NA 0.07 [0.00, 0.25] NA 0.41 [0.02, 1.57] NA 0.80 [0.04, 2.72] NA
sd(Daily pushing experienced) 0.09 [0.02, 0.16] NA 0.07 [0.01, 0.14] NA 0.05 [0.00, 0.14] NA 0.24 [0.03, 0.55] NA 0.25 [0.02, 0.64] NA
sd(Daily pushing utilized (partner’s view)) 0.07 [0.01, 0.15] NA 0.03 [0.00, 0.09] NA 0.06 [0.01, 0.15] NA 0.14 [0.01, 0.62] NA 0.25 [0.01, 0.96] NA
sd(Hu Daily persuasion experienced) 0.15 [0.01, 0.36] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily persuasion utilized (partner’s view)) 0.18 [0.01, 0.39] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure experienced) 0.22 [0.01, 0.81] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure utilized (partner’s view)) 0.36 [0.02, 1.12] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing experienced) 0.54 [0.27, 0.96] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing utilized (partner’s view)) 0.19 [0.01, 0.52] NA NA NA NA NA NA NA NA NA NA NA NA NA
Additional Parameters
sigma 0.66 [0.64, 0.69] NA 0.57 [0.56, 0.59] NA 0.95 [0.93, 0.97] NA NA NA NA NA NA NA
report::report_system()

Analyses were conducted using the R Statistical language (version 4.4.1; R Core Team, 2024) on Windows 11 x64 (build 22635)

report::report_packages()
  • beepr (version 2.0; Bååth R, 2024)
  • R.methodsS3 (version 1.8.2; Bengtsson H, 2003)
  • R.oo (version 1.27.0; Bengtsson H, 2003)
  • R.utils (version 2.12.3; Bengtsson H, 2023)
  • brms (version 2.22.0; Bürkner P, 2017)
  • digest (version 0.6.37; Eddelbuettel D, 2024)
  • Rcpp (version 1.0.13.1; Eddelbuettel D et al., 2024)
  • bayesplot (version 1.11.1; Gabry J, Mahr T, 2024)
  • lubridate (version 1.9.3; Grolemund G, Wickham H, 2011)
  • DHARMa (version 0.4.7; Hartig F, 2024)
  • wbCorr (version 0.1.22; Küng P, 2023)
  • see (version 0.9.0; Lüdecke D et al., 2021)
  • tibble (version 3.2.1; Müller K, Wickham H, 2023)
  • R (version 4.4.1; R Core Team, 2024)
  • openxlsx (version 4.2.7.1; Schauberger P, Walker A, 2024)
  • ggplot2 (version 3.5.1; Wickham H, 2016)
  • forcats (version 1.0.0; Wickham H, 2023)
  • stringr (version 1.5.1; Wickham H, 2023)
  • rvest (version 1.0.4; Wickham H, 2024)
  • tidyverse (version 2.0.0; Wickham H et al., 2019)
  • readxl (version 1.4.3; Wickham H, Bryan J, 2023)
  • dplyr (version 1.1.4; Wickham H et al., 2023)
  • purrr (version 1.0.2; Wickham H, Henry L, 2023)
  • readr (version 2.1.5; Wickham H et al., 2024)
  • xml2 (version 1.3.6; Wickham H et al., 2023)
  • tidyr (version 1.3.1; Wickham H et al., 2024)
  • knitr (version 1.49; Xie Y, 2024)
  • kableExtra (version 1.4.0; Zhu H, 2024)
report::cite_packages()